<?php
//1. 如何用正则表达式查询一个字符串是否全部由数字组成？
$arr=array(1,5,1.2,5.5,10,20,35);
$a=preg_grep("/^[0-9]+/",$arr);//法1
print_r($a);

//2. 如何用正则表达式查询一个字符串是否全部由字母组成？
$arr2=array("a","saf","fdsgadg","agggrrg");
$word=preg_grep("/^[A-Z a-z]+/",$arr2);
echo "<br/ >";
print_r($word);

//3. 如何用正则表达式检测一个字符串是邮箱？
$arr2=array("miker669@163.com");
$email=preg_grep("/^\w.+?@\w+.\w{3}/",$arr2);
echo "<br/ >";
print_r($email);

//4. 如何用正则表达式判断一个字符串是手机号？
    //^1\d{10}$

//5. 实务中注册经常需要填写密码，我们需要对密码进行验证。
//	1. 如何用正则表达式判断一个密码包含数字，并且长度在6~15位。
//	2. 如何用正则表达式判断一个密码同时包含数字和英文字母，并且长度在6~15位。
//	3. 如何用正则表达式判断一个密码同时包含数字、英文字母和~!@#$%^&*等字符，并且长度在6~15位。（高能预警）
echo "<br/ >";
$str="afasfafa";
$result = preg_match("/^[0-9a-zA-Z~!@#$%^&*]{6,15}$/",$str);
$result2 = preg_match("/\d/",$str);
$result3 = preg_match("/[a-zA-Z]/",$str);
$result4 = preg_match("/[~！@#￥%^&*]/",$str);
if($result && $result2 && $result3 && $result4){
    echo '密码匹配成功';
}else{
    echo '密码格式错误';
}